1. Field of the Invention
This invention relates generally to interpolation of uniformly sampled data, and, more particularly, to interpolation of sampled data acquired from electronic signals for instrumentation and measurement.
2. Description of Related Art
Interpolation is a commonly used technique for estimating signal levels in gaps that fall between discretely sampled values. Consider a series of sampled values x(n) that represent an electronic signal x(t) sampled at a rate FS.
Various methods have been used to estimate the level of x(t) between samples. One technique is to construct straight lines between consecutive samples, or simply to “connect the dots.” Values that fall between samples can be computed by linear estimation.
More sophisticated techniques involve connecting adjacent samples with second, third, or higher order polynomials. These methods take into account not only the samples being connected, but also neighboring samples. Interpolation using polynomials provides smoother, more continuous results than straight line interpolation.
Yet another method involves the use of the Discrete Fourier transform (DFT). A DFT is taken of the sampled signal, x(n), to yield a discrete Fourier series, X(m). The series X(m) has a length equal to FS and has Hermitian symmetry. The series X(m) is expanded in its space, creating a void in that space directly after the value corresponding to FS/2, the Nyquist rate. Zeros are inserted into that void, and the series X(m) is padded with zeros. An inverse DFT is then taken of the zero-padded X(m), to yield an interpolated sequence, x′(n). If the original series x(n) consists of N samples, and K zeroes are added to X(m), the interpolated sequence x′(n) consists of N+K samples, K more than the original series.
FIG. 1 shows an example of this type of interpolation. Graph 110 shows a sampled series, x(n), consisting of 64 samples. A DFT is taken of x(n) to produce X(m). Graph 112 shows the magnitude of X(m). The graph 112 reveals two frequency components within the Nyquist rate (m=1 to 32), a lower frequency component 120 and a higher frequency component 122. Above the Nyquist rate (m=33 to 64), the spectrum repeats in reverse order, with component 124 corresponding to component 122 and component 126 corresponding to component 120.
The DFT sequence X(m) is then zero-padded. As shown in graph 114, zeros 130 are inserted immediately after the 32nd sample of X(m), placing them precisely in the middle of the sequence. Values of X(m) greater than Nyquist are simply shifted to the right. In this example, 192 zeros are added to X(m) to create a sequence X′(m) of 256 values, 4 times longer than the original sequence.
An inverse DFT is then taken of X′(m) to produce an interpolated series, x′(n). The interpolated series x′(n) is shown in graph 116. It can be seen that x′(n) represents the original series, x(n), but with four times as many data points. With significant added detail, the wave shape of graph 116 stands out very clearly.
Interpolation using this zero-padding, DFT technique provides nearly perfect results assuming the signal x(t) is periodic and band limited to the Nyquist rate. An arbitrarily large number of zeros can be added to provide any desired level of interpolated fidelity.
Zero-padding, DFT interpolation is clearly an effective technique. We have recognized, however, that its accuracy breaks down under certain conditions. First, the technique only works for periodic signals. Non-periodic signals are not amenable to Fourier analysis. Along a similar line, the technique is accurate only for signals that are coherent. As is known, signals are “coherent” when each of their frequency components completes exactly an integer number of cycles within the sampling interval. If an input signal is not coherent, i.e., if it completes only a partial cycle of any component, an error called “leakage” arises. Leakage causes erroneous broadening of spectral lines, as well as other false structure. In the interpolation context, leakage causes errors in X(m) and therefore in X′(m), which in turn causes the interpolated signal, x′(n), to inaccurately represent the original sequence, x(n).
The need for interpolation of sampled data commonly arises in the context of Instrumentation and Measurement (I&M), including automatic test equipment (ATE). I&M systems are customarily employed for digitizing and analyzing electronic signals, and are typically supplied with numerous digital signal processing (DSP) engines, which are well-suited for performing DFTs. Zero-padding, DFT interpolation is therefore a natural fit for these test systems. However, signals sampled with I&M systems are often not periodic or coherent.
It would be desirable to find a way to use zero-padding, DFT interpolation in I&M applications for signals that are not periodic, without significantly compromising accuracy.